package com.quectel.core.module.device.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author caolu
 * @email louis.cao@quectel.com
 * @date 2023/03/24 09:31
 */
@Data
@Schema
public class DeviceOn3dDto implements Serializable {

    /**
     * id
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 租户id
     */
    @Schema(description = "租户id")
    private Long tenantId;

    /**
     * 所属小区id
     */
    @Schema(description = "所属小区id")
    @NotNull
    private Long villageId;

    /**
     * 安装楼栋
     */
    @Schema(description = "安装楼栋")
    private Long buildingId;

    /**
     * 楼层实际高度 数字类型
     */
    @Schema(description = "楼层实际高度 数字类型")
    private Integer floorNo;

    /**
     * 设备id
     */
    @Schema(description = "设备id")
    @NotNull
    private Long deviceId;

    /**
     * 设备在楼栋内外1内2外
     */
    @Schema(description = "设备在楼栋内外1内2外")
    @NotNull
    private Byte side;

    /**
     * 3d坐标信息{"x":1.2,"y":3.6,"z":2.3}
     */
    @Schema(description = "3d坐标信息{\"x\":1.2,\"y\":3.6,\"z\":2.3}")
    private String coordinate;


    /************非数据库字段 start ************/
    @Schema(description = "设备详情")
    private DeviceDto deviceDto;

    /************非数据库字段 end **************/
}
